package API.MathDome;

/**
 * ClassName:MathText001
 * Package:API.MathDome
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/1/30-19:07
 * @Version:v1.0
 */
public class MathText001 {
    /*Math类的常用方法
    *
    * public static int abs(int a) 获取参数绝对值
    * public static double ceil(double a) 向上去整
    * public static double floor(double a) 向下取整
    * public static int round(float a) 四舍五入
    * public static int max(int a,int b) 获取两个int值中的较大值
    * public static double pow(double a,double b) 返回a的b次幂的值
    * public static double random() 返回值为double的随机值*/
    public static void main(String[] args) {

        //abs 获取参数绝对值
        System.out.println(Math.abs(88));
        System.out.println(Math.abs(-88));
        //bug:以int类型为例,取值范围：-2147483648 ~2147483647
        //如果没有正数与负数相对应,那么传递负数结果有误
        //2147483648 没有正数与之相对应,所以abs结果产生bug

//        System.out.println(Math.absExact(-2147483648));
        //进一法,往数轴的正方向进一
        System.out.println(Math.ceil(12.34));
        System.out.println(Math.ceil(12.54));
        System.out.println(Math.ceil(-12.34));
        System.out.println(Math.ceil(-12.54));
        System.out.println("===============");
        //去尾法
        System.out.println(Math.floor(12.34));
        System.out.println(Math.floor(12.54));
        System.out.println(Math.floor(-12.34));
        System.out.println(Math.floor(-12.54));


        //四舍五入
        System.out.println(Math.round(12.34));
        System.out.println(Math.round(12.54));
        System.out.println(Math.round(-12.34));
        System.out.println(Math.round(-12.54));

        //获取两个整数的较大值
        System.out.println(Math.max(30,50));
        System.out.println(Math.min(30,50));
        //if判断   三元运算符   Math


        //返回a的b次幂
        System.out.println(Math.pow(2,3));
        //细节
        //如果第二个参数0~1之间的小数=开根号
        System.out.println(Math.pow(4,0.5));//2.0
        //如果第二个参数是负数
        System.out.println(Math.pow(2,-2));//0.25


        //开平方
        System.out.println(Math.sqrt(4));//2.0
        //开立方根
        System.out.println(Math.cbrt(8));//2.0

        System.out.println("=================");
        for (int i = 0; i < 10; i++) {
            System.out.println(Math.floor(Math.random()*100)+1);//1到100之间的随机数
            //Math.random()--->0.0 到 1.0 之间的数
            //Math.random()*100 ---->0.0 到 100.0之间的数
            //Math.floor(Math.random()*100) 向下取整
            //Math.floor(Math.random()*100)+1   1 到 100(包括100)
        }

    }
}
